数据链路层可能提供的服务包括哪些
数据链路层可能提供的服务包括:
组帧:在网络层的分组在链路上传输前,链路层协议用数据链路层的帧将其封装。一个帧由数据字段和首部字段组成,网络层的分组就插在数据字段中。一个帧可能包含尾部字段,我们把首部字段和尾部字段合并起来称为首部字段。接收端在收到物理层上交的比特流后,能根据首部字段的标记,从收到的比特流中识别帧的开始和结束。
差错控制:由于通信链路中存在信号的衰减和电池干扰,帧中的比特在传输过程中可能产生差错,1接收方判断为0,0接收方判断为1。转发有差错的数据是没有意义的,数据链路层的许多协议提供检测是否存在差错的机制。这是通过在帧中设置差错检测冗余位,让接收结点对收到的帧进行差错检测来完成的。链路层的差错检测通常很复杂,并且通过硬件来实现。
流量控制:由于链路的每一结点具有有限的帧缓存,接收结点在某个时间段收到帧的速率比其处理的速度快,没有流量控制,接收方的缓存会溢出,帧会丢失。和传输层类似,数据链路层协议提供流量控制机制,当接收方来不及处理发送方发送的数据时,及时控制发送方发送数据的速率,旨在使收发方协调一致。
可靠传输:当数据链路层提供可靠传输服务时,它保证将网络层的分组无差错地通过数据链路层。OSI的观点是必须把数据链路层做成是可靠传输的。前面讲过,传输层的协议TCP也提供可靠的传输服务。和传输层的可靠传输服务类似,数据链路层的可靠传输是通过确认和重传来获得的。现在通信线路的质量已经大大提高了,通信链路不好引起差错的概率已经大大降低。低差错率的链路,包括光纤、双绞线和同轴电缆,链路层的可靠传输被认为是不必要的开销,为了提高通信效率,许多有线的链路层协议不提供可靠的交付,Internet广泛使用的数据链路层不提供可靠的服务。数据链路层可靠地传输服务常用于容易产生高差错率的链路,如无线链路。
介质访问控制:介质访问控制协议定义了帧在链路上传输的规则。对于在链路的一端有一个发送方、另一端有一个接收方的点对点链路,介质访问控制协议比较简单,甚至不存在。对于多个结点共享单个广播链路,就是被称为多址访问的问题,介质访问控制协议用来协调多个结点的帧传输。